1. Field of the Invention
The present invention relates generally to control of robots, for example, but not limited to industrial, medical, and defense robots, and more particularly to robot safety and collision avoidance.
2. Description of the Related Art
In general, in the descriptions that follow, I will italicize the first occurrence of each special term of art which should be familiar to those skilled in the art of robot control systems. In addition, when I first introduce a term that I believe to be new or that I will use in a context that I believe to be new, I will bold the term and provide the definition that I intend to apply to that term. In addition, throughout this description, I may sometimes use the terms assert and negate when referring to the rendering of a signal, signal flag, status bit, or similar apparatus into its logically true or logically false state, respectively, and the term toggle to indicate the logical inversion of a signal from one logical state to the other. Alternatively, I may refer to the mutually exclusive boolean states as logic—0 and logic—1. Of course, as is well know, consistent system operation can be obtained by reversing the logic sense of all such signals, such that signals described herein as logically true become logically false and vice versa. Furthermore, it is of no relevance in such systems which specific voltage levels are selected to represent each of the logic states.
In my Related Application, I have disclosed a method and apparatus for developing robotic applications in an inherently safe environment in which either the robot or its workcell (or both) is simulated. Unfortunately, once installed and operating within its workcell, the robot may be exposed to unanticipated intrusions. Preventing collisions with any intruding object, be it animate or inanimate, is critical to the safety of the system, especially in applications where the environment has not been fully predetermined and intrusions into the robot workspace are likely.
One technique often used in suitable applications relies on perimeter guarding, wherein various types of physical and electronic exclusion perimeters are employed, e.g., wire mesh cages, light curtains, pressure pads, etc. These perimeters may be electrically or electronically tied to the robot control system such that a detected intrusion results in stopping of the robot motion and other equipment comprising the workcell. One drawback of such systems is that the size of the perimeter has to be established given the worst case scenario of the robot operation. Such a scenario should assume that the robot is working in its full range of motion (even though the specific application for which it is programmed for may not require it), and also the worst case stopping distance in the case of an emergency stop. As a result, these perimeters tend to consume valuable factory space.
Recently, advances have been made in the area of intelligent perimeter guarding. For example, the PILZ SafetyEYE (www.safetyeye.com) is an overhead camera based system that continuously monitors for intrusions, and, based on the spatial relationship between the intruding object and the robotic components, intelligently slows the robot motion and, in some situations, even bringing it to a full stop. One limitation of this approach is that it only detects intrusion into the workspace of the robot and does not necessarily identify any inadvertent changes that may have taken place inside the workspace, e.g., accidental movement of a workspace fixture. Also, this technique still uses gross models, and thus is limited only to perimeter guarding.
Other developments, primarily still in research, are in the area of using sensing to continuously create a world model that can be used for collision avoidance. For example, some mobile robots use laser range scanners to detect any obstacles around them and thus avoid colliding with them. To date, however, such techniques have not been successfully extended to articulated robot manipulators, as they require a 3D world model, which is significantly harder to develop in 3D space. At present, 3D vision systems and range scanning cameras are being adapted for use in such applications. However, a complete world model cannot be guaranteed as, usually, at least some significant portion of the robot and its workspace may be occluded to the vision components. Despite these advancements in world modeling, all they really achieve is to provide a 3D representation of the world that the robot has to avoid colliding with. While this may work satisfactorily in applications wherein the robot is never required to make contact with the environment (e.g., another vehicle on the road in the case of an autonomously driven car), manufacturing robots, bomb handling robots, and the like, are required to interact with objects in their workspace. Adapting the 3D world model to deal with such “accepted contacts” with various parts of the 3D world requires sophisticated image analysis to identify various objects in the 3D world model, and, upon object recognition, to allow context specific contact between the robot and such objects.
From the foregoing it will be apparent that there is still a need for an improved method to provide a system and method for improved robot safety and collision avoidance which allows for accepted contact between robot components and specific, identifiable objects in the environment of the robot.